package com.xiaoxu.intranetweb.mybatisplusSzappdb.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.xiaoxu.intranetweb.mybatisplusSzappdb.bo.StatisticsBo;
import com.xiaoxu.intranetweb.mybatisplusSzappdb.entity.CFinaceEnter;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiaoxu.intranetweb.mybatisplusSzappdb.vo.StatisticsVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * <p>
 * 款项进账表 Mapper 接口
 * </p>
 *
 * @author xiaoxu
 * @since 2022-12-27
 */
@Component
@DS("szappdb")
public interface CFinaceEnterMapper extends BaseMapper<CFinaceEnter> {
    @Select("SELECT MAX(FINANCE_ENTER_ID) \n" +
            "FROM c_finace_enter \n" +
            "WHERE FINANCE_ENTER_ID LIKE CONCAT(#{date},'%') \n" +
            "AND FINANCE_ENTER_DELETED = 0 \n" +
            "AND DATA_FROM = #{dataFrom}")
    String getMaxFinanceEnterId(String date, String dataFrom);

//    查询
/**
 *finaceStatistics
 * cpyCo: 单位名称
 * cpyChiCo: 子单位名称
 * thisPeriodRecharge: 本实交款
 * cpySupplyCo: 供货单位
 * cpySupplyChiCo: 供货子单位
 */
    List<StatisticsVo> finaceStatistics(@Param("s")StatisticsBo params);
    /**
     * finaceStatisticsEnter
     * cpyCo: 单位名称
     * cpyChiCo: 子单位名称
     * thisPeriodAccount: 本期入账
     * cpySupplyCo: 供货单位
     * cpySupplyChiCo: 供货子单位
     */
    List<StatisticsVo> finaceStatisticsEnter(@Param("s")StatisticsBo params);
    /**
     * finaceStatisticsEnterAll
     * cpyCo: 单位名称
     * cpyChiCo: 子单位名称
     * allAccount: 累计入账
     * cpySupplyCo: 供货单位
     * cpySupplyChiCo: 供货子单位
     */
    List<StatisticsVo> finaceStatisticsEnterAll(@Param("s")StatisticsBo params);

    /**
     * finaceStatisticsEnterBefore
     * cpyCo: 单位名称
     * cpyChiCo: 子单位名称
     * lastPeriodAccount: 上期入账
     * cpySupplyCo: 供货单位
     * cpySupplyChiCo: 供货子单位
     */
    List<StatisticsVo> finaceStatisticsEnterBefore(@Param("s")StatisticsBo params);
}
